Optimization is a process that seeks to identify the best design according to a specified measure, or objective function, while also satisfying certain restrictions, or constraints. But mathematical methods used for optimization may not always identify the best design, and in these cases we seek to find as good a design as possible, or at least a design that is better than the existing one. Herein, use of the word optimal is intended to mean best, or as good as possible, or better than before, depending upon what is possible in that context and application.
We are concerned here with relatively large optimization problems, where large may refer to the number of design variables and/or the CPU time required to evaluate the objective function for a particular design candidate. In such cases it is common to break the problem into smaller parts, or subsystems, using decomposition.
Decomposition may be applied to the optimization problem itself, to the physical/temporal domain of the system, and/or to the disciplinary responses in a multidisciplinary problem. When an optimization problem is decomposed, the design variables are often segregated into sets so that the variables within each set interact closely, but interact weakly with the remaining design variables (those in other sets). Both physical and temporal domains can be decomposed into several smaller domains. In a multidisciplinary problem, each subsystem may represent a different disciplinary analysis of the same system. In each of these cases, the large design optimization problem can then be cast as a series of smaller optimization problems that are coordinated in order to optimize the entire system.
After an optimization problem is decomposed, the solution procedure may take one of several forms. Among the more popular methods is a multi-level optimization procedure. For example, in a two-level optimization procedure the optimization of the subsystem variables, xi, is nested inside an upper-level optimization of the global variables, z. It is also possible to define a third set of variables, y, that are output from one subsystem and input to another subsystem. An iterative approach can then be used to coordinate the identification of the subsystem and global variables that jointly optimize the system. Most such iterative approaches depend upon the calculation of sensitivity derivatives of the optima of each subsystem with respect to changes in the global variables, z. Often, the calculation of these derivatives is either very difficult or computationally very expensive. In some cases, the sensitivity derivatives are discontinuous. The cost of calculating the sensitivity derivatives depends in part on the form of interaction between the subsystems and the number of design variables.
A solution procedure that does not require the calculation of sensitivity derivatives would be beneficial in many applications. Such an approach is often called direct iteration, or fixed-point iteration. This technique, however, has less than desirable convergence characteristics when applied to many classes of problems. Namely, problems in which significant changes in the interaction variables occur during the iteration process may not converge to a near optimal solution, and may fail to converge at all.
Here, a modified fixed-point iteration process is presented with a significantly enhanced ability to converge when applied to multilevel optimization of large problems.